;---------------------------------------
;picture bender
;---------------------------------------

sine     = $0900
skad     = $fb
dokad    = $fd
co       = $ff

         *= $0a00

         jmp start

mx       .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07
         .byte $40,$41,$42,$43
         .byte $44,$45,$46,$47
         .byte $80,$81,$82,$83
         .byte $84,$85,$86,$87
         .byte $c0,$c1,$c2,$c3
         .byte $c4,$c5,$c6,$c7
         .byte $00,$01,$02,$03
         .byte $04,$05,$06,$07


sx       .byte $20,$20,$20,$20
         .byte $20,$20,$20,$20
         .byte $21,$21,$21,$21
         .byte $21,$21,$21,$21
         .byte $22,$22,$22,$22
         .byte $22,$22,$22,$22
         .byte $23,$23,$23,$23
         .byte $23,$23,$23,$23

         .byte $25,$25,$25,$25
         .byte $25,$25,$25,$25
         .byte $26,$26,$26,$26
         .byte $26,$26,$26,$26
         .byte $27,$27,$27,$27
         .byte $27,$27,$27,$27
         .byte $28,$28,$28,$28
         .byte $28,$28,$28,$28

         .byte $2a,$2a,$2a,$2a
         .byte $2a,$2a,$2a,$2a
         .byte $2b,$2b,$2b,$2b
         .byte $2b,$2b,$2b,$2b
         .byte $2c,$2c,$2c,$2c
         .byte $2c,$2c,$2c,$2c
         .byte $2d,$2d,$2d,$2d
         .byte $2d,$2d,$2d,$2d

         .byte $2f,$2f,$2f,$2f
         .byte $2f,$2f,$2f,$2f
         .byte $30,$30,$30,$30
         .byte $30,$30,$30,$30
         .byte $31,$31,$31,$31
         .byte $31,$31,$31,$31
         .byte $32,$32,$32,$32
         .byte $32,$32,$32,$32

         .byte $34,$34,$34,$34
         .byte $34,$34,$34,$34
         .byte $35,$35,$35,$35
         .byte $35,$35,$35,$35
         .byte $36,$36,$36,$36
         .byte $36,$36,$36,$36
         .byte $37,$37,$37,$37
         .byte $37,$37,$37,$37

         .byte $39,$39,$39,$39
         .byte $39,$39,$39,$39
         .byte $3a,$3a,$3a,$3a
         .byte $3a,$3a,$3a,$3a
         .byte $3b,$3b,$3b,$3b
         .byte $3b,$3b,$3b,$3b
         .byte $3c,$3c,$3c,$3c
         .byte $3c,$3c,$3c,$3c

         .byte $3e,$3e,$3e,$3e
         .byte $3e,$3e,$3e,$3e


dx       .byte $00,$00,$00,$00
         .byte $00,$00,$00,$00
         .byte $08,$08,$08,$08
         .byte $08,$08,$08,$08
         .byte $10,$10,$10,$10
         .byte $10,$10,$10,$10
         .byte $18,$18,$18,$18
         .byte $18,$18,$18,$18
         .byte $20,$20,$20,$20
         .byte $20,$20,$20,$20
         .byte $28,$28,$28,$28
         .byte $28,$28,$28,$28
         .byte $30,$30,$30,$30
         .byte $30,$30,$30,$30
         .byte $38,$38,$38,$38
         .byte $38,$38,$38,$38
         .byte $40,$40,$40,$40
         .byte $40,$40,$40,$40
         .byte $48,$48,$48,$48
         .byte $48,$48,$48,$48
         .byte $50,$50,$50,$50
         .byte $50,$50,$50,$50
         .byte $58,$58,$58,$58
         .byte $58,$58,$58,$58
         .byte $60,$60,$60,$60
         .byte $60,$60,$60,$60
         .byte $68,$68,$68,$68
         .byte $68,$68,$68,$68
         .byte $70,$70,$70,$70
         .byte $70,$70,$70,$70
         .byte $78,$78,$78,$78
         .byte $78,$78,$78,$78
         .byte $80,$80,$80,$80
         .byte $80,$80,$80,$80
         .byte $88,$88,$88,$88
         .byte $88,$88,$88,$88
         .byte $90,$90,$90,$90
         .byte $90,$90,$90,$90
         .byte $98,$98,$98,$98
         .byte $98,$98,$98,$98
         .byte $a0,$a0,$a0,$a0
         .byte $a0,$a0,$a0,$a0
         .byte $a8,$a8,$a8,$a8
         .byte $a8,$a8,$a8,$a8
         .byte $b0,$b0,$b0,$b0
         .byte $b0,$b0,$b0,$b0
         .byte $b8,$b8,$b8,$b8
         .byte $b8,$b8,$b8,$b8
         .byte $c0,$c0,$c0,$c0
         .byte $c0,$c0,$c0,$c0
         .byte $c8,$c8,$c8,$c8
         .byte $c8,$c8,$c8,$c8
         .byte $d0,$d0,$d0,$d0
         .byte $d0,$d0,$d0,$d0
         .byte $d8,$d8,$d8,$d8
         .byte $d8,$d8,$d8,$d8
         .byte $e0,$e0,$e0,$e0
         .byte $e0,$e0,$e0,$e0
         .byte $e8,$e8,$e8,$e8
         .byte $e8,$e8,$e8,$e8
         .byte $f0,$f0,$f0,$f0
         .byte $f0,$f0,$f0,$f0
         .byte $f8,$f8,$f8,$f8
         .byte $f8,$f8,$f8,$f8

ax       .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01
         .byte $80,$40,$20,$10
         .byte $08,$04,$02,$01


px       .byte 0
py       .byte 0
add      .byte 0

start    sei
         lda #$3b
         sta $d011
         lda #$80
         sta $d018
         lda #$96
         sta $dd00
         ldx #$00
loop1    lda #$10
         sta $6000,x
         sta $6100,x
         sta $6200,x
         sta $6300,x
         lda #$00
         sta $4000,x
         sta $4100,x
         sta $4200,x
         sta $4300,x
         sta $4400,x
         sta $4500,x
         sta $4600,x
         sta $4700,x
         sta $4800,x
         sta $4900,x
         sta $4a00,x
         sta $4b00,x
         sta $4c00,x
         sta $4d00,x
         sta $4e00,x
         sta $4f00,x
         sta $5000,x
         sta $5100,x
         sta $5200,x
         sta $5300,x
         sta $5400,x
         sta $5500,x
         sta $5600,x
         sta $5700,x
         sta $5800,x
         sta $5900,x
         sta $5a00,x
         sta $5b00,x
         sta $5c00,x
         sta $5d00,x
         sta $5e00,x
         sta $5f00,x
         dex
         bne loop1
         lda #$00
         sta px
         sta py
hops1    ldx px
         ldy py
         lda mx,y
         clc
         adc dx,x
         sta skad
         lda sx,y
         adc #$00
         sta skad+1
         tya
         clc
         adc sine,x
         tay
         lda mx,y
         clc
         adc dx,x
         sta dokad
         lda sx,y
         adc #$20
         sta dokad+1
         ldy #$00
         lda (skad),y
         and ax,x
         ora (dokad),y
         sta (dokad),y
         inc py
         lda py
         cmp #$c0
         bne hops1
         lda #$00
         sta py
         inc px
         bne hops1
petla    inc $d020
         jmp petla

